/**
 * @author Liu Awen
 * @create 2020-05-15 7:36
 */
// 8、十进制转换器

import java.util.Scanner;
//8、十进制转换器

/**
 * 编写程序，把正整数的二进制形式转换成其相应的十进制整数。
 * <p>
 * - 读取用户在控制台中输入的整行字符串
 * - 检查用户输入的字符串中是否全部都是 0 和 1 【选做】
 * - 当用户输入的字符串全部为 0 和 1 时，计算其相应的十进制整数
 * <p>
 * 正整数 转换其相应的十进制整数
 * 读整行字符串
 * 判断是0 1
 */
public class Demo8 {

    public static void main(String[] args) {

        Scanner in = new Scanner(System.in);
        System.out.print("请输入一个二进制：");
        String number = in.nextLine();
        boolean flag = true;//是否为二进制的数
        for (int i = 0; i < number.length(); i++) {
            if (number.charAt(i) != '0' && number.charAt(i) != '1') {
                System.out.println("输入有误，存在不是1或0的数");
//                    System.out.println("请重新输入一个二进制数");
                flag = false;
                break;
            }
        }
        if (flag == true) {
            int sun = 0;
            int n = 0;
            for (int i = number.length() - 1; i >= 0; i--) {
                sun += (int) ((number.charAt(i) - 48) * (int) Math.pow(2, n++));
            }
            System.out.print("十进制为：" + sun);
        }
        flag = true;
    }


}

